package com.zbhk.qc.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 日期转换工具类
 * 
 * @author zhuchaojie
 *
 */
public class TimeTransformUtil {

	/**
	 * 
	 * 日期格式字符串转换成时间戳
	 * 
	 * @param
	 *
	 * @param format
	 *            如：yyyy-MM-dd
	 * @return
	 */
	public static long date2TimeStamp(String date_str, String format) {
		try {
			SimpleDateFormat sdf = new SimpleDateFormat(format);
			return (sdf.parse(date_str).getTime());
		} catch (Exception e) {
		}
		return 0;
	}

	/**
	 * 获得病人的年龄段
	 * 
	 * @param birthDay
	 * @return String 年龄段
	 */
	public static String getAge(String birthDay) {

		if (birthDay == null) {
			return "";
		}
		try {
			// 获得当前系统时间戳
			Date now = new Date();
			long nowTime = now.getTime();
			// 获得病人出生日期的时间戳
			long birth = date2TimeStamp(birthDay, "yyyy-MM-dd");
			// 日期相减获取日期差X(单位:毫秒)
			long millisecond = nowTime - birth;
			// 获得病人出生的天数
			int days = (int) (millisecond / (1000 * 60 * 60 * 24));
			// 根据天数，判断病人所属的年龄段
			if (days <= 28) {
				return "0-28天";
			}
			if (days <= 90) {
				return "29天-3个月";
			}
			if (days <= 180) {
				return "4-6个月";
			}
			if (days <= 365) {
				return "7个月-1岁";
			}
			if (days <= 1095) {
				return "2-3岁";
			}
			if (days <= 2190) {
				return "4-6岁";
			}
			return "7-18岁";
		} catch (Exception e) {
		}
		return "";
	}

	/**
	 * 字符串转为日期，默认格式为：yyyy-MM-dd
	 * 
	 * @author wanghaidong 2019年6月3日@下午3:53:33 TODO
	 */
	public static Date string2date(String strDate) throws ParseException {
		return string2date(strDate, "yyyy-MM-dd");
	}

	/**
	 * 字符串转为日期
	 * 
	 * @author wanghaidong 2019年6月3日@下午3:53:33 TODO
	 */
	public static Date string2date(String strDate, String format) throws ParseException {
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		return sdf.parse(strDate);
	}

	/**
	 * 日期转为字符串,默认格式为：yyyy-MM-dd
	 * 
	 * @author wanghaidong 2019年6月3日@下午3:51:55 TODO
	 */
	public static String date2string(Date date) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		return simpleDateFormat.format(date);
	}

	/**
	 * 日期转为字符串
	 * 
	 * @author wanghaidong 2019年6月3日@下午3:51:55 TODO
	 */
	public static String date2string(Date date, String format) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
		return simpleDateFormat.format(date);
	}
	
}
